package com.lihepeng.leecode.classic.recruit;

/**
 * 实现 pow(x, n) ，即计算 x 的 n 次幂函数（即，xn ）。
 */
public class Solution50 {

    public double myPow(double x, int n) {
        if (n<0) {
            x=1/x;
            n = -n;
        }
        return myPowIn(x,n);
    }
    private double myPowIn(double x,int n){
        if (n == 0) {
            return 1.0d;
        }
        if (n/2==0) {
            //even
            double temp = myPowIn(x, n / 2);
            return temp * temp;
        }else {
            double temp = myPowIn(x, n / 2);
            return temp * temp * x;
        }
    }
}

